package com.rhb.detector.topsec.application.util;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Tools {
	public static String subString(String str, String regexp){
		List<String> list = subStrings(str,regexp);
		if(list!=null && list.size()>0){
			return list.get(0);
		}else{
			return null;
		}
	}
	
	public static List<String> subStrings(String str, String regexp){
		List list = new ArrayList();

		if(str == null || regexp==null || "".equals(regexp.trim())){
			return list;
		}
		String findRegexp = regexp.replace("|", ".*?");
		boolean replace = regexp.indexOf("|")==-1 ? false : true;
		
		Pattern pt = Pattern.compile(findRegexp);
		Matcher mt = pt.matcher(str);
		while (mt.find()){
			if(replace){
				list.add(mt.group().replaceAll(regexp, ""));				
			}else{
				list.add(mt.group());
			}
		}
		return list;
	}
	
	public static String subString(String str, String begin, String end){
		if(str==null || begin==null || end==null){
			return null;
		}
		int i = str.indexOf(begin);
		int j = str.indexOf(end);
		
		return str.substring(i+begin.length(), j);
		
	}
	
	public static Date getDate(String date,String format) {
		Date d = null;
		try {
			java.text.SimpleDateFormat dformat = new java.text.SimpleDateFormat(format);
			java.util.Calendar calendar = java.util.Calendar.getInstance();
			d = dformat.parse(date);
		} catch (Exception e1) {
		}
		return d;
	}
	
	public static String getDate(Date d, String format) {
		if(d == null) return null;
		
		SimpleDateFormat df = new SimpleDateFormat(format);
		return df.format(d);
	}

}
